const Mock = require('mockjs');

const image_list = Mock.mock({
  'data|2': [
    // 生成2个图片对象
    {
      'id|+1': 1,
      src: '@image("200x200", "@color", "@color", "Mock.js")',
    },
  ],
});

// 品牌
const image_list2 = Mock.mock({
  'data|8': [
    // 生成8个图片对象
    {
      'id|+8': 1,
      src: '@image("200x200", "@color", "@color", "Mock.js")',
      title: '@ctitle(2, 4)',
    },
  ],
});

const titleList = image_list2.data.map((item) => item.title);
const categoryList = ['宠量', '零食', '营养品', '玩具用品', '套餐', '会员福利'];
const categoryList2 = [
  '全阶段狗狗',
  '小型犬',
  '中型犬',
  '大型犬',
  '猫猫',
  '通用',
];


const image_list3 = Mock.mock({
  'data|4': [
    // 生成4个图片对象
    {
      'id|+8': 1,
      src: '@image("200x200", "@color", "@color", "mock.js")',
      title: '@ctitle(5, 15)',
      desc: '@ctitle(20, 35)', // 描述
      price: '@integer(1, 100)', // 原价
      sale: '@integer(100, 300)', // 会员价
      cate: () => Mock.Random.pick(categoryList), // 分类
      brand: () => Mock.Random.pick(titleList), // 品牌
      cate2: () => Mock.Random.pick(categoryList2), // 阶段
      Shelf: '@integer(6, 12)', // 保质期
      weight: '@integer(200, 800)', // 重量
      data: '@date', // 过期日期
      'images|4': [
        // 产品展示图
        {
          image: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品展示图`,
        },
      ],
      'descImages|4': [
        // 产品介绍图
        {
          src: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品介绍图`,
        },
      ],
    },
  ],
});

// 零食
const snacks = Mock.mock({
  'data|4': [
    // 生成4个图片对象
    {
      'id|+8': 1,
      src: '@image("200x200", "@color", "@color", "mock.js")',
      title: '@ctitle(5, 15)',
      desc: '@ctitle(20, 35)', // 描述
      price: '@integer(1, 100)', // 原价
      sale: '@integer(100, 300)', // 会员价
      cate: () => Mock.Random.pick(categoryList), // 分类
      brand: () => Mock.Random.pick(titleList), // 品牌
      cate2: () => Mock.Random.pick(categoryList2), // 阶段
      Shelf: '@integer(6, 12)', // 保质期
      weight: '@integer(200, 800)', // 重量
      data: '@date', // 过期日期
      'images|4': [
        // 产品展示图
        {
          image: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品展示图`,
        },
      ],
      'descImages|4': [
        // 产品介绍图
        {
          src: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品介绍图`,
        },
      ],
    },
  ],
});

// 保健品
const Health = Mock.mock({
  'data|4': [
    // 生成4个图片对象
    {
      'id|+8': 1,
      src: '@image("200x200", "@color", "@color", "mock.js")',
      title: '@ctitle(5, 15)',
      desc: '@ctitle(20, 35)', // 描述
      price: '@integer(1, 100)', // 原价
      sale: '@integer(100, 300)', // 会员价
      cate: () => Mock.Random.pick(categoryList), // 分类
      brand: () => Mock.Random.pick(titleList), // 品牌
      cate2: () => Mock.Random.pick(categoryList2), // 阶段
      Shelf: '@integer(6, 12)', // 保质期
      weight: '@integer(200, 800)', // 重量
      data: '@date', // 过期日期
      'images|4': [
        // 产品展示图
        {
          image: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品展示图`,
        },
      ],
      'descImages|4': [
        // 产品介绍图
        {
          src: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品介绍图`,
        },
      ],
    },
  ],
});

// 用品
const Supplies = Mock.mock({
  'data|4': [
    // 生成4个图片对象
    {
      'id|+8': 1,
      src: '@image("200x200", "@color", "@color", "mock.js")',
      title: '@ctitle(5, 15)',
      desc: '@ctitle(20, 35)', // 描述
      price: '@integer(1, 100)', // 原价
      sale: '@integer(100, 300)', // 会员价
      cate: () => Mock.Random.pick(categoryList), // 分类
      brand: () => Mock.Random.pick(titleList), // 品牌
      cate2: () => Mock.Random.pick(categoryList2), // 阶段
      Shelf: '@integer(6, 12)', // 保质期
      weight: '@integer(200, 800)', // 重量
      data: '@date', // 过期日期
      'images|4': [
        // 产品展示图
        {
          image: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品展示图`,
        },
      ],
      'descImages|4': [
        // 产品介绍图
        {
          src: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品介绍图`,
        },
      ],
    },
  ],
});

// 所有商品

// 手动生成随机颜色
function getRandomColor() {
  const letters = '0123456789ABCDEF';
  let color = '#';
  for (let i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}

const gifts = Mock.mock({
  'data|31': [
    // 生成31个图片对象
    {
      'id|+1': 1,
      src: '@image("200x200", "@color", "@color", "mock.js")',
      title: '@ctitle(5, 15)',
      desc: '@ctitle(20, 35)', // 描述
      price: '@integer(1, 100)', // 原价
      sale: '@integer(100, 300)', // 会员价
      cate: () => Mock.Random.pick(categoryList), // 分类
      brand: () => Mock.Random.pick(titleList), // 品牌
      cate2: () => Mock.Random.pick(categoryList2), // 阶段
      Shelf: '@integer(6, 12)', // 保质期
      weight: '@integer(200, 800)', // 重量
      data: '@date', // 过期日期
      'images|4': [
        // 产品展示图
        {
          image: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品展示图`,
        },
      ],
      'descImages|4': [
        // 产品介绍图
        {
          src: () =>
            `https://via.placeholder.com/200x200/${getRandomColor()}/${getRandomColor()}?text=产品介绍图`,
        },
      ],
    },
  ],
});


const idea = Mock.mock({
  'data|1': [
    {
      'id|+1': 1,
      src: '@image("200x200", "@color", "@color", "mock.js")',
      title: '@ctitle(5, 15)',
      desc: '@ctitle(20, 35)', // 描述
      price: '@integer(1, 100)', // 原价
      sale: '@integer(100, 300)', // 会员价
      cate: () => Mock.Random.pick(categoryList), // 分类
      brand: () => Mock.Random.pick(titleList), // 品牌
      cate2: () => Mock.Random.pick(categoryList2), // 阶段
      Shelf: '@integer(6, 12)', // 保质期
      weight: '@integer(200, 800)', // 重量
      data: '@date', // 过期日期
      code: '@integer(10000000000000, 20000000000000)',
      
    },
  ],
});

const vipShop = Mock.mock({
  'data|5': [
    // 生成2个图片对象
    {
      'id|+1': 1,
      src: '@image("200x200", "@color", "@color", "Mock.js")',
      'title': '@ctitle(5, 15)',
      'price': '@integer(1, 50)',
      'sale': '@integer(50, 100)',
    },
  ],
});

export { image_list, image_list2, image_list3, snacks, Health, Supplies, gifts, vipShop, idea };